<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">
<ui:composition template="/pages/template.xhtml">
	<ui:define name="titulo">
		<h:outputText value="#{msgs['titulo.cadastro.usuario']}" />
	</ui:define>
	<ui:define name="corpo">
		<h:form id="formCadUser">
			<p:messages id="messages" autoUpdate="true" closable="true" />
			<p:tabView effectDuration="normal" effect="fade">
				<p:tab title="Dados">
					<h:panelGrid columns="3" cellpadding="10">
						<h:outputLabel for="options" value="Status:" />

						<p:selectOneRadio id="options"
							value="#{UsuarioController.user.status}">
							<f:selectItems value="#{UsuarioController.listaStatus}"	 />
						</p:selectOneRadio>
						<p:column />

						<h:outputLabel for="nome" value="Perfis:" />
						
						<p:selectManyCheckbox
							value="#{UsuarioController.perfisSelecionados}" converter="PerfilConverter" >
							<f:selectItems value="#{UsuarioController.perfis}" />
						</p:selectManyCheckbox>
						<p:column />

						<h:outputLabel for="nome" value="nome:" />
						<p:inputText id="nome" value="#{UsuarioController.user.nome}"
							required="true" requiredMessage="Nome obrigatório" >
							<p:ajax event="blur" update="nomeMsg" />
						</p:inputText>
						<p:message id="nomeMsg" for="nome" />

						<h:outputLabel for="data" value="Data de Nascimento:" />
						<p:inputMask id="data" value="#{UsuarioController.user.dataNasc}"
							mask="99/99/9999" required="true"
							requiredMessage="Data obrigatório:">
							<p:ajax event="blur" update="dataMsg" />
							<f:convertDateTime pattern="dd/MM/yyyy" timeZone="GMT-03:00" />
						</p:inputMask>
						<p:message id="dataMsg" for="data" display="icon" />

						<h:outputLabel for="sexo" value="Sexo:" />
						<p:selectOneRadio id="sexo" value="#{UsuarioController.user.sexo}">
							<f:selectItem itemLabel="Feminino" itemValue="0" />
							<f:selectItem itemLabel="Masculino" itemValue="1" />
						</p:selectOneRadio>
						<p:column />

						<h:outputLabel value="CPF:" />
						<p:inputMask mask="999.999.999-99" id="cpf"
							value="#{UsuarioController.user.cpf}" validator="validatorCPF">
							<p:ajax event="blur" update="msgCPF" />
						</p:inputMask>
						<p:message id="msgCPF" for="cpf" display="icon" />

						<h:outputLabel value="Identidade:" />
						<p:inputText value="#{UsuarioController.user.rg}" />
						<p:column />

						<h:outputLabel value="Email:" />
						<p:inputText value="#{UsuarioController.user.email}" />
						<p:column />

						<h:outputLabel value="Rua:" />
						<p:inputText id="rua"
							value="#{UsuarioController.user.endereco.rua}" required="true"
							style="width:300px" requiredMessage="Rua Obrigatório">
							<p:ajax event="blur" update="endmsg" />
						</p:inputText>
						<p:message id="endmsg" for="rua" display="icon" />

						<h:outputLabel value="Numero:" />
						<p:inputText id="num"
							value="#{UsuarioController.user.endereco.numero}" required="true"
							converterMessage="Número invalido"
							requiredMessage="Número Obrigatório">
							<p:ajax event="blur" update="nummsg" />
							<f:convertNumber for="num" />
						</p:inputText>
						<p:message id="nummsg" for="num" display="icon" />

						<h:outputLabel value="CEP:" />
						<p:inputText id="cep"
							value="#{UsuarioController.user.endereco.cep}" required="true"
							requiredMessage="CEP Obrigatório">
							<p:ajax event="blur" update="cepmsg" />
						</p:inputText>
						<p:message id="cepmsg" for="cep" display="icon" />

						<p:column>
							<h:outputLabel value="Telefones" />
							<br />
							<p:commandLink id="addTelUser" value="Add tel"
								actionListener="#{UsuarioController.addTel}" ajax="true"
								immediate="true" update="telefones" />
						</p:column>
						<p:column colspan="2">
							<p:dataTable id="telefones" var="tel"
								value="#{UsuarioController.user.telefones}"
								emptyMessage="#{msgs['msg.form.lista.empty']}">
								<p:column headerText="Tipo">
									<p:selectOneMenu value="#{tel.tipo}" required="true"
										requiredMessage="Favor escolher um tipo">
										<f:selectItems value="#{UsuarioController.listTipoTelefone}" />
									</p:selectOneMenu>
								</p:column>
								<p:column headerText="Telefone">
									<p:inputText value="#{tel.telefone}" required="true"
										requiredMessage="Digite um número"
										converterMessage="Número inválido">
										<f:convertNumber />
									</p:inputText>
								</p:column>
							</p:dataTable>
						</p:column>
						<p:column colspan="2" />
						<h:inputHidden value="#{UsuarioController.user.id}" />

						<br />
						<p:column colspan="2" />
						<p:commandButton id="addUser" value="salvar"
							action="#{UsuarioController.salvar}" ajax="false" />

					</h:panelGrid>
				</p:tab>
			</p:tabView>
		</h:form>
	</ui:define>
</ui:composition>
</html>